package cn.exrick.xboot.modules.activiti.dao.mapper;


import cn.exrick.xboot.modules.activiti.entity.business.EventReport;
import cn.exrick.xboot.modules.base.entity.Department;
import cn.exrick.xboot.modules.base.entity.Role;
import cn.exrick.xboot.modules.base.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author lijian
 */
public interface EventReportMapper {

    /**
     * 通过用户ID查找上级部门
     * @return
     */
    List<Department> findUpDepartment(@Param("userId") String userId);

    /**
     * 通过用户ID查找下级部门
     * @return
     */
    List<Department> findDownDepartment(@Param("userId") String userId);

    /**
     * 通过部门ID查找用户
     * @return
     */
    List<User> findDepUser(@Param("depId") String depId);

    /**
     * 通过部门ID查找村用户
     * @return
     */
    List<User> findDepUserCun(@Param("depId") String depId);

    /**
     * 查询所有镇级部门
     * @return
     */
    List<Department> getdep();

    /**
     * 通过用户查找当前人所在部门
     * @return
     */
    User findUserDep(@Param("userId") String userId);

    /**
     * 通过用户查找当前人角色
     * @return
     */
    Role findUserRole(@Param("userId") String userId);

    /**
     * 根据用户名及用户巡河开始时间查看上报事件
     * @param map
     * @return
     */
    List<EventReport> findRiverEventByUserName(Map<String, Object> map);

}
